import requestURL from './utils.js'

/**
 * 获取学生列表
 * @param {Object} url 请求路径
 * @param {Object} obj 请求参数
 */
function getStuList(url, obj, token) {
	return uni.request({
		url: `${requestURL.localURL}/${url}`,
		header: {token: !!token ? token : requestURL.token},
		data: obj,
		method: 'POST'
	}).then(data => {
		var [error, res] = data
		return res.data
	}).catch(err => {
		uni.showToast({
			title: 'Get student list fail！',
			icon: 'none',
			duration: 2000
		});
	})
}

/**
 * 获取支付列表
 * @param {Object} url 请求路径
 * @param {Object} obj 请求参数
 */
function getPayList(url, obj, token) {
	return uni.request({
		url: `${requestURL.localURL}/${url}`,
		header: {token: !!token ? token : requestURL.token},
		data: obj,
		method: 'POST'
	}).then(data => {
		var [error, res] = data
		return res.data
	}).catch(err => {
		uni.showToast({
			title: 'Get pay fail！',
			icon: 'none',
			duration: 2000
		});
	})
}

/**
 * 发送位置信息
 * @param {Object} url 请求路径
 * @param {Object} obj 请求参数
 */
// function savePosition(url, obj, token) {
// 	return uni.request({
// 		url: `${requestURL.localURL}/${url}`,
// 		header: {token: !!token ? token : requestURL.token},
// 		data: obj,
// 		method: 'POST'
// 	}).then(data => {
// 		var [error, res] = data
// 		return res.data
// 	}).catch(err => {
// 		console.log(err)
// 	})
// }
function savePosition(url, obj, token) {
	;//do nothing
}

/**
 * 获取学生信息
 * @param {Object} url 请求路径
 */
function getStudentInfo(url, token) {
	return uni.request({
		url: `${requestURL.localURL}/${url}`,
		header: {token: !!token ? token : requestURL.token},
		method: 'GET'
	}).then(data => {
		var [error, res] = data
		return res.data
	}).catch(err => {
		uni.showToast({
			title: 'Get student infomation fail！',
			icon: 'none',
			duration: 2000
		});
	})
}

/**
 * 获取紧急电话
 * @param {Object} url 请求路径
 */
function getStu(url,obj, token) {
	return uni.request({ 
		url: `${requestURL.localURL}/${url}`,
		header: {token: !!token ? token : requestURL.token},
		method: 'GET',
		data: obj,
	}).then(data => {
		var [error, res] = data
		return res.data
	}).catch(err => {
		uni.showToast({
			title: 'Get emergency mobile！',
			icon: 'none',
			duration: 2000
		});
	})
}


/**
 * 监护人发起学生位置请求
 * @param {Object} url 请求路径
 */
function addPositionGet(url, token) {
	return uni.request({
		url: `${requestURL.localURL}/${url}`,
		header: {token: !!token ? token : requestURL.token},
		method: 'POST'
	}).then(data => {
		var [error, res] = data
		return res.data
	}).catch(err => {
		uni.showToast({
			title: 'Get sutdent locaion fail！',
			icon: 'none',
			duration: 2000
		});
	})
}

/**
 * 家长请求孩子列表
 * @param {Object} url 请求路径
 */
function parentGetStudent(url, token) {
	return uni.request({
		url: `${requestURL.localURL}/${url}`,
		header: {token: !!token ? token : requestURL.token},
		method: 'POST'
	}).then(data => {
		var [error, res] = data
		return res.data
	}).catch(err => {
		uni.showToast({
			title: 'Get student list fail！',
			icon: 'none',
			duration: 2000
		});
	})
}

/**
 * 获取授权列表
 */
function getPositionGetByAuth(token) {
	return uni.request({
		url: `${requestURL.localURL}/position/getPositionGetByAuth`,
		header: {
			token: !!token ? token : requestURL.token
		},
		method: 'POST'
	}).then(data => { //data为一个数组，数组第一项为错误信息，第二项为返回数据
		var [error, res] = data;
		return res.data
	}).catch(err => {
		uni.showToast({
			title: 'Get data fail！',
			icon: 'none',
			duration: 2000
		});
	})
}

/**
 * 获取查看位置列表
 */
function getPositionGetByOri(token) {
	return uni.request({
		url: `${requestURL.localURL}/position/getPositionGetByOri`,
		header: {
			token: !!token ? token : requestURL.token
		},
		data: JSON.stringify([]),
		method: 'POST'
	}).then(data => { //data为一个数组，数组第一项为错误信息，第二项为返回数据
		var [error, res] = data;
		return res.data
	}).catch(err => {
		uni.showToast({
			title: 'Get location fail！',
			icon: 'none',
			duration: 2000
		});
	})
}

/**
 * 授权/拒绝位置信息
 * @param {Object} obj 请求参数
 */
function editPositionGet(obj, token) {
	return uni.request({
		url: `${requestURL.localURL}/position/editPositionGet`,
		header: {token: !!token ? token : requestURL.token},
		data: obj,
		method: 'POST'
	}).then(data => {
		var [error, res] = data
		return res.data
	}).catch(err => {
		console.log(err)
	})
}

/**
 * 取消发起位置
 * @param {Object} obj 请求参数
 */
function delPositionGet(obj, token) {
	return uni.request({
		url: `${requestURL.localURL}/position/delPositionGet`,
		header: {token: !!token ? token : requestURL.token},
		data: obj,
		method: 'POST'
	}).then(data => {
		var [error, res] = data
		return res.data
	}).catch(err => {
		console.log(err)
	})
}

/**
 * 删除发起位置
 * @param {Object} obj 请求参数
 */
function delBatchPositionGet(obj, token) {
	return uni.request({
		url: `${requestURL.localURL}/position/delBatchPositionGet`,
		header: {token: !!token ? token : requestURL.token},
		data: obj,
		method: 'POST'
	}).then(data => {
		var [error, res] = data
		return res.data
	}).catch(err => {
		console.log(err)
	})
}

export default {
	getStuList,
	getPayList,
	savePosition,
	getStudentInfo,
	addPositionGet,
	parentGetStudent,
	getPositionGetByAuth,
	getPositionGetByOri,
	editPositionGet,
	delPositionGet,
	delBatchPositionGet,
	getStu
}